package com.yytek.nmp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yytek.common.core.annotation.Excel;
import com.yytek.common.core.web.domain.BaseEntity;

/**
 * 服务记录对象 iot_service_history
 *
 * @author yytek-iot
 * @date 2022-07-12
 */
@ApiModel("服务记录对象")
public class IotServiceHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    /** 服务调用唯一标识 */
    @Excel(name = "服务调用唯一标识")
    @ApiModelProperty("服务调用唯一标识")
    private String keyId;

    /** 产品id */
    @Excel(name = "产品id")
    @ApiModelProperty("产品id")
    private Integer productId;

    /** 设备id */
    @Excel(name = "设备id")
    @ApiModelProperty("设备id")
    private String deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty("设备名称")
    private String deviceName;

    /** 服务名称 */
    @Excel(name = "服务名称")
    @ApiModelProperty("服务名称")
    private String serviceName;

    /** 调用方式 */
    @Excel(name = "调用方式")
    @ApiModelProperty("调用方式")
    private String callType;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String status;

    /** 输入参数 */
    @Excel(name = "输入参数")
    @ApiModelProperty("输入参数")
    private String input;

    /** 输出参数 */
    @Excel(name = "输出参数")
    @ApiModelProperty("输出参数")
    private String output;

    /** 输入参数时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "输入参数时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("输入参数时间")
    private Date inputTime;

    /** 输出参数时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "输出参数时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("输出参数时间")
    private Date outputTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setKeyId(String keyId)
    {
        this.keyId = keyId;
    }

    public String getKeyId()
    {
        return keyId;
    }
    public void setProductId(Integer productId)
    {
        this.productId = productId;
    }

    public Integer getProductId()
    {
        return productId;
    }
    public void setDeviceId(String deviceId)
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId()
    {
        return deviceId;
    }
    public void setDeviceName(String deviceName)
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName()
    {
        return deviceName;
    }
    public void setServiceName(String serviceName)
    {
        this.serviceName = serviceName;
    }

    public String getServiceName()
    {
        return serviceName;
    }
    public void setCallType(String callType)
    {
        this.callType = callType;
    }

    public String getCallType()
    {
        return callType;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setInput(String input)
    {
        this.input = input;
    }

    public String getInput()
    {
        return input;
    }
    public void setOutput(String output)
    {
        this.output = output;
    }

    public String getOutput()
    {
        return output;
    }
    public void setInputTime(Date inputTime)
    {
        this.inputTime = inputTime;
    }

    public Date getInputTime()
    {
        return inputTime;
    }
    public void setOutputTime(Date outputTime)
    {
        this.outputTime = outputTime;
    }

    public Date getOutputTime()
    {
        return outputTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("keyId", getKeyId())
                .append("productId", getProductId())
                .append("deviceId", getDeviceId())
                .append("deviceName", getDeviceName())
                .append("serviceName", getServiceName())
                .append("callType", getCallType())
                .append("status", getStatus())
                .append("input", getInput())
                .append("output", getOutput())
                .append("inputTime", getInputTime())
                .append("outputTime", getOutputTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
